package com.schoolgard.base.query;

import java.util.List;
/**
 *
 * <li>功能简述:查询实体
 * <li>详细描述:使用时以List<SearchModel>方式构造查询信息,交给DAO类以QBC方式查询
 * @author  luoyg
 * @version  [8.0 2010-8-25]
 * @see  [相关类/方法]
 * @since  8.0
 */
public class SearchModel {
    private String entityProperty;
    private List<SearchAttribute> searchAttributes;
    private Integer level;
    /**
     * 该实体的属性位于要查询的实体的哪一级
     * 0级为顶级
     * */
    public Integer getLevel() {
        return level;
    }
    /**
     * 该实体的属性位于要查询的实体的哪一级
     * 0级为顶级
     * */
    public void setLevel(Integer level) {
        this.level = level;
    }
    /** 实体的属性 若为顶级属性则设为null */
    public String getEntityProperty() {
        return entityProperty;
    }
    /** 实体的属性  若为顶级属性则设为null*/
    public void setEntityProperty(String entityProperty) {
        this.entityProperty = entityProperty;
    }
    /** 查询的属性集合 */
    public List<SearchAttribute> getSearchAttributes() {
        return searchAttributes;
    }
    /** 查询的属性集合 */
    public void setSearchAttributes(List<SearchAttribute> searchAttributes) {
        this.searchAttributes = searchAttributes;
    }

    public SearchModel(Integer level,String entityProperty,List<SearchAttribute> searchAttributes){
        this.level=level;
        this.entityProperty=entityProperty;
        this.searchAttributes=searchAttributes;
    }
    /**
     * 当查询属性为顶级属性时以此种方式构造  level=0 entityProperty=null
     * @param searchAttributes
     */
    public SearchModel(List<SearchAttribute> searchAttributes){
        this.level=0;
        this.entityProperty=null;
        this.searchAttributes=searchAttributes;
    }
}
